home *** CD-ROM | disk | FTP | other *** search
/ User's Choice Windows CD / User's Choice Windows CD (CMS Software)(1993).iso / misc1 / instal.zip / WSLIB / PROGDDE.H < prev    next >
Text File  |  1990-07-04  |  3KB  |  86 lines

  1. /*----------------------------------------------------------------------------*\
  2. |   frogman.h     Module to Write a FrogMan Config File.                       |
  3. |                                                                              |
  4. |   History:                                                                   |
  5. |    03/09/89 toddla     Created                           |
  6. |                                                                              |
  7. \*----------------------------------------------------------------------------*/
  8.  
  9. //
  10. //  Format of a ProgMan Group file.
  11. //
  12. //      magic number                    (LONG)   must equal GRP_MAGIC
  13. //      group header                    (GRPDEF)
  14. //      group name                      (STRING)
  15. //      item1
  16. //      item2
  17. //       ...
  18. //      itemN
  19. //
  20. //  Format of a ITEM
  21. //
  22. //      item header                     (ITEMDEF)
  23. //      icon header
  24. //      icon AND mask
  25. //      icon XOR mask
  26. //      Item Name                       (STRING)
  27. //      Item Command line               (STRING)
  28. //      Name of EXE containing Icon     (STRING)
  29. //
  30. //  Format of a STRING
  31. //
  32. //      Strings are Length prefixed, the length occupies 2 bytes
  33. //
  34. //
  35. //  ProgMan will open ALL groups listed in the [Groups] section of PROGMAN.INI
  36. //
  37. //      [Groups]
  38. //          GROUP1 = GROUP1.GRP
  39. //          GROUP2 = GROUP2.GRP
  40. //
  41.  
  42.  
  43. #define GRP_MAGIC   0x43434D50L     // "PMCC"
  44.  
  45. /* structure of group and items in .GRP files
  46.  */
  47. typedef struct tagGROUPDEF
  48.   {
  49.     WORD      nCmdShow;          /* min, max, or normal state */
  50.     RECT      rcNormal;          /* rectangle of normal window */
  51.     POINT      ptMin;          /* point of icon */
  52.     WORD      wLogPixelsX;          /* screen info for icon extraction */
  53.     WORD      wLogPixelsY;          /*  ... */
  54.     WORD      wBitsPixel;          /*  ... */
  55.     WORD      wPlanes;          /*  ... */
  56.     WORD      cItems;          /* number of items in group */
  57.   } GROUPDEF;
  58. typedef GROUPDEF FAR * LPGROUPDEF;
  59.  
  60. typedef struct tagITEMDEF
  61.   {
  62.     POINT      pt;              /* location of item icon in group */
  63.     WORD      iIcon;          /* index of item icon */
  64.     WORD      cbHeader;          /* size of icon header */
  65.     WORD      cbANDPlane;          /* size of and part of icon */
  66.     WORD      cbXORPlane;          /* size of xor part of icon */
  67.   } ITEMDEF;
  68. typedef ITEMDEF FAR * LPITEMDEF;
  69.  
  70. BOOL    PUBLIC ddeInit(HANDLE hInst, HANDLE hPrev);
  71.  
  72. HANDLE    PUBLIC fmOpen(PSTR szName, BOOL fDelete);
  73. BOOL    PUBLIC fmMinimize(PSTR szName);
  74. BOOL    PUBLIC fmActivate(PSTR szName);
  75. BOOL    PUBLIC fmClose();
  76. BOOL    PUBLIC fmAddItem(PSTR szName, PSTR szCmd, PSTR szExe, int iIcon);
  77. HICON    PUBLIC ExtractIcon(LPSTR lpszExeFileName, WORD nIconIndex);
  78.  
  79.  
  80. /*
  81.  * EXPORTED stuff from USER
  82.  */
  83. DWORD PUBLIC DumpIcon(LPSTR, LPINT, LPSTR, LPSTR);
  84.  
  85.  
  86.